1. Field of the Invention
The present invention relates to a demodulator and a demodulation method, and particularly to a demodulator and a demodulation method using a received symbol having the different amplitude values.
2. Description of Related Art
Recently, a communication IC (Integrated Circuit) which includes both of an analog circuit and a digital circuit has been developed. The communication IC transfers the signal processing performed for the analog signal to the signal processing performed for the digital signal output from ADC (Analog to Digital Converter). The transferring to the digital signal processing has a merit that a chip area and the cost can be reduced by using a deep-submicron process. Further, the transferring to the digital signal processing has a merit that the communication IC including further functions is developed without changing a chip area. However, by setting finely sampling range and making the number of the quantization bits large, the reduction of a quantization noise needs to be reduced so that the digital signal processing performs signal processing equal to the analog signal processing. In general, an ASK (Amplitude Shift Keying) demodulator uses a circuit that calculates the amplitude by a square operation circuit and a square root operation circuit. However, the circuit that calculates the amplitude using the square operation circuit and the square root operation circuit increases a circuit scale and leads to increase in the chip area when the operation circuit having a large bit width is composed of the digital circuit. Therefore an ASK demodulator of a small circuit scale has been increasingly demanded. The ASK demodulator of a small circuit does not use the square operation circuit and the square root operation circuit.
Japanese Unexamined Patent Application Publication No. 2008-85396 discloses a demodulator that can demodulate a received signal without using the square operation circuit and the square root operation circuit. FIG. 4 shows an angle area of received symbol in demodulation processing disclosed in Japanese Unexamined Patent Application Publication No. 2008-85396 and the example of the estimated symbol difference area divided into two parts in the estimated symbol difference plane. FIG. 4 shows a graph in which a horizontal axis is an X axis 801 of the estimated symbol difference plane and a vertical axis is a Y axis 802 of the estimated symbol difference plane.
The symbol tan θ shown with angle θ of a position vector (X,Y) on the estimated symbol difference plane is Y/X. Thus, for example, it is determined which of two angle areas the vector (X,Y) belongs to by determining whether X and Y satisfy the conditional expression of Y/X<½. When the result of determination satisfies the conditional expression, it can be considered that the position vector (X,Y) belongs to an angle area 120. When the result of determination does not satisfy the conditional expression, it can be considered that the position vector (X,Y) belongs to an angle area 110.
The approximation function F(t) to calculate an absolute value of each element in the estimated symbol difference vector is determined by following expressions (1) and (2) for each angle area 110 and 120 defined in FIG. 4. The symbol “r” shows a positive constant.F(t)=α(t)X+β(t)Y  (1)α(t)2+β(t)2≈r2  (2)
When the symbol “t” is the identifier number of the angle area obtained by dividing the estimated symbol difference area (in this case, the symbol “t” is 1 or 2), in order to determine the constants α(t) and β(t) which are used for the approximation function F(t) shown in the expression (1), the constants α(t) and β(t) are selected so that arctan (β(t)/α(t)) is included in the angle range of the angle area t, and α(t) and β(t) satisfy the expression (2). For example, when α(t) and β(t) are selected so that arctan (β(t)/α(t)) is close to the central angle of the angle area t and the value of α(t)2+β(t)2 is close to “1.32”, α(t) and β(t) are the values shown in FIG. 5. FIG. 5 shows an example of the approximation constant used for the example of angle area division in Related Art. Further, the values of α(t) and β(t) can be expressed by addition or subtraction of ½n. Therefore, the circuit to calculate the approximation formula F(t)=α(t)X+β(t)Y is composed of the simple circuit as combination of a bit shift circuit and an adder circuit.
FIG. 6 shows the example of a circuit configuration corresponding to the angle area division. When an absolute value extraction unit 410 receives the complex number z=x+yi as each element of the estimated symbol difference vector, the absolute value extraction unit 410 extracts the absolute value |Re(z)|=|x| of real part in the complex number z and the absolute value |Im(z)|=|y| of imaginary part in the complex number z. The absolute value extraction unit 410 outputs |x| and |y| to a maximum value extraction unit 420 and a minimum value extraction unit 430. The maximum value extraction unit 420 extracts the maximum value of the absolute value |Re(z)|=|x| of real part and the absolute value |Im(z)|=|y| of imaginary part extracted by the absolute value extraction unit 410 and outputs the maximum value as X to an area select unit 210 and an approximation calculation unit 310. The minimum value extraction unit 430 extracts the minimum value of the absolute value |Re(z)|=|x| of real part and the absolute value |Im(z)|=|y| of imaginary part extracted by the absolute value extraction unit 410 and outputs the minimum value as Y to the area select unit 210 and the approximation calculation unit 310.
In the area select unit 210, a magnitude comparison unit 211 receives X output from the maximum value extraction unit 420. Y output from the minimum value extraction unit 430 is doubled in a double circuit 213 by bit shift processing. The magnitude comparison unit 211 receives it as 2Y. The magnitude comparison unit 211 compares X output from the maximum value extraction unit 420 and 2Y output from the double circuit 213. The magnitude comparison unit 211 notifies the comparison result to an angle area select unit 212. Based on the comparison result notified from the magnitude comparison unit 211, the angle area select unit 212 selects the angle area t where the position vector (X,Y) on the estimated symbol difference plane locates. The angle range of the angle area 110 in t=1 is arctan (½)≦θ≦π/4. The angle range of the angle area 120 in t=2 is 0≦θ<arctan (½). Accordingly, when X and Y satisfy the conditional expression as Y/X<½ or 2Y<X, the angle area select unit 212 selects the angle area 120. When X and Y do not satisfy the conditional expression as Y/X<½ or 2Y<X, the angle area select unit 212 selects the angle area 110. The angle area select unit 212 notifies the number t of the selected angle area to a selector 311 in the approximation calculation unit 310.
The approximation calculation unit 310 includes the selector 311 to select the approximation function F(t) and the circuit multiplying the coordinates X and Y of the position vector (X,Y) on the estimated symbol difference plane by the approximation constants α(t) and β(t) and adding. The selector 311 selects the approximation function F(t) of the angle area based on the angle area number t notified from the angle area select unit 212. FIG. 5 shows α(1)=⅞ and α(2)=9/8. A ⅛ circuit 312, an adder circuit 314 and an adder circuit 314a are provided to multiply α(t) by X. The ⅛ circuit 312 is the circuit multiplying the input data by ⅛ using the bit shift. The adder circuits 314 and 314a perform adding or subtracting according to the code as ‘+’ or ‘−’.
For example, α(1) is expressed as add-subtract of squaring like α(1)=⅞=1−⅛. Therefore, α(1) is calculated by the circuit composition shown in the approximation calculation unit 310 of FIG. 6. The other approximation constants are also expressed as add-subtract of squaring. Further, FIG. 5 shows β(1)=¾, β(2)=¼. A ½ circuit 313, a ½ circuit 313a and an adder circuit 314b are provided to multiply β(t) by Y. The ½ circuits 313 and 313a multiply the input data by ½ using the bit shift. The adder circuit 314b perform adding or subtracting according to the code as ‘+’ or ‘−’. The symbol β(t) is also expressed as add-subtract of squaring, so that β(t) is calculated by the circuit composition shown in the approximation calculation unit 310 of FIG. 6.
The calculation results of α(t)X and β(t)Y obtained by performing approximation calculation are output to the selector 311. The selector 311 selects the value of α(t)X and β(t)Y corresponding to the angle area number t notified from the angle area select unit 212 of α(t)X output from the adders 314 and 314a and β(t)Y output from the ½ circuit 313a and the adder 314b, and outputs the selected value. According to the result, the demodulation circuit can select the approximation constant α or β in each area, and approximate the absolute value |Z| of the estimated symbol difference z=x+yi using αX+βY.